package com.itheima.tlias.config;

import com.itheima.tlias.interceptor.LoginInterceptor;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

/**
 * spring 配置类 :一般配置拦截器 跨域配置等
 * @Configuration 是配置类的特化注解 组合了@Component注解
 *
 * 过滤器(Filter) 与拦截器(Interceptor) 的区别
 *
 * 相同点 :执行都在Controller(Servlet)之前
 * 不同点：
 *       技术提供方 ：过滤器————Servlet 拦截器————String
 *       执行顺序 ：先执行过滤器 后执行拦截器
 *       执行粒度 ：过滤器过滤粒度粗————编码转换，时间格式转换
 *                  拦截器拦截粒度细————登录认证，接口日志记录
 *
 *  如果继承 extends WebMvcConfigurationSupport sprintBoot 会自己处理时间
 *  如果使用自定义的时间格式 implements WebMvcConfigurer
 *
 */
@Configuration
public class WebMvcConfig extends  WebMvcConfigurationSupport {
    @Resource
    private LoginInterceptor loginInterceptor;
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {

//        registry
//                .addInterceptor(loginInterceptor)
//                .addPathPatterns("/**")
//                .excludePathPatterns("/login","/yml/**","/testCons");
    }
}
